One of the most commonly used features in HyperCard is that of showing the user some information and then waiting for him to press the mouse button before proceeding. This pause is generally executed by the command:
wait until the mouseClick
But HyperDA does not support the wait command, so this won’t work in HyperDA. As a consequence, you might show the user a field, for example, and hide it so quickly he never gets a chance to read its contents.
But since we can use the hide and show commands in HyperDA, you can create a transparent button the size of a card that you show at the same time as you show the field you want the user to read. Program this button so that it disappears, hides the field, and proceeds with processing when the user presses it. Then because it covers the entire card and is transparent, anywhere the user clicks will have the desired consequences.
For example, suppose you want to have the field called “User Help” display when the user presses a certain button on a card and to stay visible until the user clicks somewhere on the card. In HyperCard, you would probably be inclined to write a handler like this:
on mouseUp
show card field “User Help”
wait until the mouseClick
hide card field “User Help”
end mouseUp
Here’s how you could do the same thing in HyperDA, using a transparent button called cardCover:
on mouseUp
show card field “User Help”
show card button “cardCover”
end mouseUp
Then in the script of the button “cardCover,” you’d include:
on mouseUp
hide card field “User Help”
hide card button “cardCover”
go to card 14 -- or whatever other processing you wanted, if any